package server

import "net/http"

type HttpServlet struct {
	Name    string
	handler *RouteBaseOnMap
}

// AddRouter 将路由信息放入到map中。这个方法与RouteWithContext进行对比：
//
//	将执行逻辑与路由创建进行分离。这里的逻辑就变成了只是将路由放入map。执行被放入到了实现ServeHTTP结构体中
func (h *HttpServlet) AddRouter(method string, pattern string, handlerFunc func(c *HttpContext)) {
	key := h.handler.key(method, pattern)
	h.handler.handlers[key] = handlerFunc
}

// Start 结构体HttpServlet 对接口Server的实现
func (h *HttpServlet) Start(port string) error {
	return http.ListenAndServe(port, h.handler)
}
